<?php

class Turma extends CI_Controller{
    
    function index (){
        $this->estaLogado();
        redirect('turma/listar');
    }
    
    function estaLogado(){
	$id = $this->session->userdata('id');
	if(empty($id))
            redirect('usuario/login');
    }
        
    function cadastrar(){
        $this->load->model('disciplinaModel');
        $this->load->model('professorModel');
        $this->load->model('turmaModel');
        $dados['disciplinas'] = $this->disciplinaModel->drop();
        $dados['professores'] = $this->professorModel->drop();
        $dados['alunos'] = $this->turmaModel->getAlunos();
        $this->load->view('turma/cadastrar',$dados);
    }
    
    function cadastrando(){
        $this->load->model('turmaModel');
        
        $dados['letra'] = $this->input->post('letra');
        $dados['horario'] = $this->input->post('horario');
        $dados['semestre'] = $this->input->post('semestre');
        $dados['disciplina_id'] = $this->input->post('disciplina');
        $dados['professor_id'] = $this->input->post('professor');
        
        $alunos = $this->input->post('alunos');
        $dias = $this->input->post('dias');
        
        $cont = count($dias);
        for($i = 0; $i < $cont; $i++){
            if(($i == 0) || ($cont == 1))
                $dados['dias'] = $dias[$i];
            else{
                if($i == $cont - 1)
                    $dados['dias'] .= ' e '.$dias[$i];
                else
                    $dados['dias'] .= ', '.$dias[$i];
            }
        }
        
        $id = $this->turmaModel->cadastrar($dados);
        $this->turmaModel->cadastrarAlunos($id, $alunos);
        redirect('turma/listar');
    }
    
    function editar(){
        $this->load->model('turmaModel');
        $this->load->model('professorModel');
        $this->load->model('disciplinaModel');
        $id = $this->uri->segment(3);
        
        $dados['turma'] = $this->turmaModel->get($id);
        $dados['disciplinas'] = $this->disciplinaModel->drop();
        $dados['professores'] = $this->professorModel->drop();
        $this->load->view('turma/editar', $dados);
    }
    
    function editando(){
        $this->load->model('turmaModel');
        
        $dados['id'] = $this->input->post('id');
        $dados['letra'] = $this->input->post('letra');
        $dados['horario'] = $this->input->post('horario');
        $dados['semestre'] = $this->input->post('usuario');
        $dados['professor_id'] = $this->input->post('professor');
        $dados['disciplina_id'] = $this->input->post('disciplina');
        
        $this->turmaModel->editar($dados);
        redirect('turma/listar');
    }
    
    function excluir(){
        $this->load->model('turmaModel');
        $id = $this->uri->segment(3);
        
        $this->turmaModel->excluir($id);
        return true;
    }
    
    function visualizar(){
        $this->estaLogado();
        $this->load->model('turmaModel');
        $id = $this->uri->segment(3);
        
        $dados['turma'] = $this->turmaModel->get($id);
        $dados['alunos'] = $this->turmaModel->getAlunosTurma($id);
        $dados['aulas'] = $this->turmaModel->getAulas($id);
        
        $this->load->view('turma/visualizar', $dados);
    }
    
    function listar(){
        $this->load->model('turmaModel');
        $dados['turmas'] = $this->turmaModel->listar();
        $this->load->view('turma/listar',$dados);
    }
    
    function chamada(){
        $this->estaLogado();
        $this->load->model('turmaModel');
        $this->load->model('alunoModel');
        $id = $this->uri->segment(3);
        
        $dados['turma'] = $this->turmaModel->get($id);
        $dados['alunos'] = $this->turmaModel->getAlunosTurma($id);
        
        $this->load->view('turma/chamada', $dados);
    }
    
    function fecharChamada(){
        $this->estaLogado();
        $this->load->model('turmaModel');
        
        $alunos = $this->input->post('alunos');
        $presencas = $this->input->post('presencas');
        $observacoes = $this->input->post('observacoes');
        
        $dados['data'] = $this->input->post('data');
        $dados['tema'] = $this->input->post('tema');
        $dados['turma_id'] = $this->input->post('turma');
        $creditos = $this->turmaModel->get($dados['turma_id'])->creditos;
        
        $add['aula_id'] = $this->turmaModel->cadastrarAula($dados);
        
        $cont = count($alunos);
        for ($i = 0; $i < $cont; $i++){
            $add['aluno_id'] = $alunos[$i];
            $add['presenca'] = $presencas[$i];
            $add['observacao'] = $observacoes[$i];
            $this->turmaModel->insereAlunoAula($add);
            if($add['presenca'] == 'Falta'){
                $this->turmaModel->addFalta($dados['turma_id'], $add['aluno_id'], $creditos);
            }
        }
        
        redirect('turma/verAula/'.$add['aula_id']);
    }
    
    function editarAula(){
        $this->load->model('turmaModel');
        $id = $this->uri->segment(3);
        
        $dados['aula'] = $this->turmaModel->getAula($id);
        $this->load->view('turma/editarAula', $dados);
    }
    
    function editandoAula(){
        $this->load->model('turmaModel');
        
        $dados['id'] = $this->input->post('id');
        $dados['data'] = $this->input->post('data');
        $dados['tema'] = $this->input->post('tema');
        $turma = $this->input->post('turma');
        
        $this->turmaModel->editarAula($dados);
        redirect('turma/visualizar/'.$turma);
    }
    
    function excluirAula(){
        $this->load->model('turmaModel');
        $id = $this->uri->segment(3);
        
        $this->turmaModel->excluirAula($id);
        return true;
    }
    
    function verAula(){
        $this->estaLogado();
        $this->load->model('turmaModel');
        $id = $this->uri->segment(3);
        
        $dados['aula'] = $this->turmaModel->getAula($id);
        $dados['alunos'] = $this->turmaModel->getAlunosAula($id);
        
        $this->load->view('turma/verAula', $dados);
    }
    
    function estatisticaAula(){
        $this->estaLogado();
        $this->load->model('turmaModel');
        $id = $this->uri->segment(3);
        
        $dados['estatisticas'] = $this->turmaModel->dadosAula($id);
        
        $this->load->view('turma/estatisticaAula',$dados);
    }
}
?>